<?php

/**
 * @class XQL_ObjectQuote
 *
 * SQL lekérések kiemelt objektumainak (adatbázisok, táblák, mezők nevei)
 * kvótálására kialakított absztrakt osztály.
 *
 * @author prometheus
 */
class XQL_ObjectQuote
{
	protected static $supportedConnectors = array(
		'mysql'	=> 'MySQL',
		'pgsql'	=> 'PostgreSQL',
		'mssql'	=> 'MSSQL'
	);

	public function __construct()
	{
		trigger_error('XQL_ObjectQuote: ez az osztály nem példányosítható. Halál.', E_USER_ERROR);
	}

	/**
	 * A PDO konnektor neve alapján megállapított kiszolgálótípusnak megfelelő
	 * kvótáló objektumot hoz létre és tér vissza vele.
	 * @param String $connector
	 * @return XQL_ObjectQuote
	 */
	public static function factory($connector)
	{
		$className = '';
		if (array_key_exists($serverType, self::$supportedConnectors))
		{
			$className = 'XQL_ObjectQuote_'.self::$supportedConnectors[$serverType];
		}
		else
		{
			// TODO: exception
		}

		return new $className();
	}

	public function quote($sqlObject)
	{
		return $sqlObject;
	}
}

?>